import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { MyFormModule } from './forms/my-form.module';
import { HttpClientModule } from '@angular/common/http';
import { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';
import { InMemoryDataService } from './api/in-memory-data.service';

import { ApiModule } from './api/api.module';
import { AppRoutingModule } from './app-routing.module';
import { HeroesModule } from './heroes/heroes.module';
import { CrisisCenterModule } from './crisis-center/crisis-center.module';
import { AdminModule } from './admin/admin.module';
import { LoginRoutingModule } from './login-routing.module';

import { httpInterceptors } from './http-interceptors/index';



import { AppComponent } from './app.component';
import { ListItemComponent } from './list/item.component';
import { ListComponent } from './list/list.component';
import { DetailComponent } from './detail/detail.component';
import { ChangeLogComponent } from './shared/changelog.component';
import { CollectionComponent } from './collection/collection.component';
import { ContactCollectionComponent } from './collection/contactcollection.component';
import { AnimationExComponent } from './shared/animation.component';
import { ClickMeComponent } from './forms/click-me.component';
import { KeyUpComponent } from './forms/keyup.component';
import { LoopBackComponent } from './forms/loop-back.component';
import { ContactComponent } from './contact/contact.component';
import { ConfigComponent } from './config/config.component';
import { DownloaderComponent } from './downloader/downloader.component';
import { PackageSearchComponent } from './package-search/package-search.component';
// import { HeroListComponent } from './heroes/hero-list.component';
import { PageNotFoundComponent } from './shared/not-found.component';
// import { CrisisListComponent } from './crisis-center/crisis-list.component';
import { ComposeMessageComponent } from './compose-message.component';
import { LoginComponent } from './login.component';




import { MessageService } from './message.service';


@NgModule({
  declarations: [
    AppComponent,
    ListComponent,
    ListItemComponent,
    DetailComponent,
    ChangeLogComponent,
    CollectionComponent,
    ContactCollectionComponent,
    AnimationExComponent,
    // ClickMeComponent,
    KeyUpComponent,
    LoopBackComponent,
    // FormComponent,
    ContactComponent,
    ConfigComponent,
    DownloaderComponent,
    PackageSearchComponent,
    // HeroListComponent,
    PageNotFoundComponent,
    // CrisisListComponent,
    ComposeMessageComponent,
    LoginComponent,
  ],
  imports: [
    BrowserModule,
    FormsModule,
    BrowserAnimationsModule,
    MyFormModule,
    HttpClientModule,
    HttpClientInMemoryWebApiModule.forRoot(
      InMemoryDataService
    ),
    ApiModule,
    HeroesModule,
    CrisisCenterModule,
    AdminModule,
    LoginRoutingModule,
    AppRoutingModule,
  ],
  providers: [
    MessageService,
    httpInterceptors,
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }
